package model;

import java.time.LocalTime;

public class POI {
    private String id;
    private String name;
    private String city;
    private String type; // attraction 或 restaurant
    private Coordinates coordinates;
    private int avgVisitDuration; // 分钟
    private OpeningHours openingHours;
    private double ticketPrice; // 人均消费或门票
    private double popularityScore; // 1-10
    private String startTime; // 行程中动态添加：开始时间 HH:mm

    // Getters and Setters
    public String getId() { return id; }
    public void setId(String id) { this.id = id; }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public String getCity() { return city; }
    public void setCity(String city) { this.city = city; }

    public String getType() { return type; }
    public void setType(String type) { this.type = type; }

    public Coordinates getCoordinates() { return coordinates; }
    public void setCoordinates(Coordinates coordinates) { this.coordinates = coordinates; }

    public int getAvgVisitDuration() { return avgVisitDuration; }
    public void setAvgVisitDuration(int avgVisitDuration) { this.avgVisitDuration = avgVisitDuration; }

    public OpeningHours getOpeningHours() { return openingHours; }
    public void setOpeningHours(OpeningHours openingHours) { this.openingHours = openingHours; }

    public double getTicketPrice() { return ticketPrice; }
    public void setTicketPrice(double ticketPrice) { this.ticketPrice = ticketPrice; }

    public double getPopularityScore() { return popularityScore; }
    public void setPopularityScore(double popularityScore) { this.popularityScore = popularityScore; }

    public String getStartTime() { return startTime; }
    public void setStartTime(String startTime) { this.startTime = startTime; }

    @Override
    public String toString() {
        return String.format("POI{name='%s', type='%s', start='%s'}", name, type, startTime);
    }
}